The online video game market continues to grow. Online games may be played on personal computers (PCs) or gaming consoles (e.g., XBOX LIVE®). The online game communicates with a remote server to provide interaction with other users. PCs are open systems and therefore are susceptible to hacking. Hacking online games played on PCs may enable users to cheat while playing the game.
The cheating may include simulating (e.g., inserting) user commands, and/or deleting or modifying actual user commands (input data modification). An input modification program may be utilized to modify the input stream (user commands) received and processed by the game application. For example, certain games require a player to aim and shoot at various objects or other players. The input modification program may be able to determine the exact location of the target and automatically aim and shoot the player's gun with inhuman accuracy and speed. Some games require players to perform repetitious tasks in order to obtain certain items (game currency) and/or to advance to new levels. The input modification program may perform the repetitive tasks for the user without the user needing to play the game and perform the functions. This allows the user to accumulate wealth, skills or other game features faster and vastly easier than the rest of the players in the game.
The cheating may include intercepting communications between the game application run on the PC and the remote server for the game and deleting, modifying or delaying actual communications between the game application and the remote server (network communication modification). A communication modification program may be used to modify communications between the game application and the remote game server and/or to intercept communications from the game server and take appropriate action. For example, if during game play of an action game the player shots at another user the game application will provide communications to the remote server indicating that this event occurred. The communication modification program may intercept the update and replace the update with a different update (e.g., one that ensures the shot will hit the closest other user). By way of another example, the communication modification program may provide updates to the remote server that that certain repetitive tasks required to obtain items or advance play were performed even though they were not.
The cheating may include intercepting communications from the remote server and taking appropriate actions prior to the communications being processed by the on-line application (network communication intercept). A communication intercept program may be used to intercept the communications and take actions prior to the on-line game processing the communication. The actions may include instructing the on-line game to take certain actions or disconnecting communications between the on-line game and the remote server. For example, if the communication is that another user shot at the player the communication intercept program may provide commands to the on-line game to duck prior to the communications regarding the shot are processed. Alternatively, the communication intercept program may disconnect communications between the on-line game and the remote server so that the shot can not be processed.
The cheating may include modifying the on-line game application (software modification). The cheating may also include modifying pointers to external code utilized outside of the on-line game application's code (program control flow modification) to point to cheating code or skip certain code (e.g., anti cheat code). Modifying the on-line game application code or program control flow may enable the player to take actions or see things they would not normally be able to or to turn off cheat detecting software. For example, the modification may make walls in a game transparent so that the player can see what is on the other side.